Asynchronous Transfer Mode (ATM) is a new telecommunication standard for a broadband Integrated Service Digital Network (ISDN). ATM has been designed from the ground up to be a telecommunication standard for carrying voice, video and data information. ATM carries information in fixed length cells. Each cell is 53 bytes long where the first five bytes are header information and the remaining 48 bytes are the data payload.
ATM Networks are build by connecting several ATM Switches together with high speed communication lines. Currently, most ATM Switches are coupled together using SONET communication lines as a physical connection layer. To establish a connection in an ATM Network a virtual circuit (VC) is opened up between a source node and a destination node. The source node originates at ATM end point that is coupled to an ATM Switch through a User-Network Interface (UNI). The virtual circuit consists of a series of connections between different ATM Switches in the Network until it terminates an ATM endpoint where the destination user equipment is connected.
For example in FIG. 1, a first piece of user equipment 115 that will act as a source system is connected to an ATM End Point 110. ATM End Point 110 may be an ATM router interface, an adapter card of a workstation or other ATM edge device. The ATM End Point 110 will act as a source for the virtual connection. The ATM End Point 110 connects to an ATM Switch in an ATM network through a UNI interface. The ATM End Point 110 builds a virtual connection to a destination by creating a path with a set of internodal links between various intermediary ATM Switches (151, 152, and 153) that make up an ATM Network 150. The virtual connection ends at a destination ATM End Point 120. The destination ATM End Point 120 is coupled to the destination user equipment 125. Once a virtual connection is established, every cell associated with the virtual connection traverses the exact same route to the destination ATM End Point 120.
When there is a large amount of traffic on an ATM network, then congestion might develop in the ATM Network such that network performance is degraded. During periods of significant network congestion, ATM cells maybe discarded to help alleviate the congestion. Thus, it would be desirable to prevent significant network congestion from occurring by regulating the entrance of new cells into the ATM network. In this manner, ATM cells will not be discarded.
Information about the state of an ATM network, such as the state of congestion and bandwidth availability is conveyed through a virtual connection using special control cells known as Resource Management cells (RM cells). Resource Management cells originate at a source end system (such as The ATM end point 110). The Resource Management cells carry requested maximum cell rate information such as the Peak Cell Rate (PCR) for the virtual circuit in an Explicit Rate (ER) field in the RM cell. The explicit rate defines an upper ceiling on the amount of bandwidth the particular virtual circuit will be allowed to use. As the RM cell travels along the network, each ATM switch adjusts the ER field in the RM cell according the ATM switch's congestion state and explicit rate determination. At the destination ATM end system (ATM end point 120), the RM cell is turned around back to the source ATM end point for rate adjustment. The source ATM end point (ATM End Point 110) adjusts its rate according to the information conveyed in the Backward RM cell. Detailed information about how source and destination systems react to ATM traffic information can be found in the "ATM Forum Traffic Management Specification", Version 4.0, March 1996. However, the methods of determining congestion within each switch, determining the available bandwidth, and explicit rate computation are not subject to standardization.
A shared memory switch is a type of ATM Switch wherein a single block of memory is shared among multiple switch points and queues. With a shared memory switch, each individual queue or port may use a large portion of the shared memory buffer if each individual queue or port is lightly loaded or only a few queues or ports are active. However, when all queues or ports are active and heavily loaded, the available memory becomes significantly low. Under such an overloaded condition, the shared memory switch should request the ATM end points (or rate control point) of the connections using the overloaded port to reduce the cell rate and thereby alleviate the ATM switch's internal congestion. This information is conveyed by the Resource Management cells to the ATM endpoints.